【重大发表】本人正在制作一款开源的MF引擎
id: 2609446066 | 楼主:lyh娘 | 返回首页
id: 39295257707
1L | 作者:lyh娘 | 发布于 2013-09-22 15:37

你没看错


id: 39295301695
2L | 作者:lyh娘 | 发布于 2013-09-22 15:38

说正题之前我先扯几句相关的:

最近吧里很多人都在研究使用MMF2制作MF关卡
据我所知现在制作关卡主要有两种引擎可以使用
一个是Mario Worker 1.0,目前只有syzx的World9和10使用了这个引擎
还有一个是Mario Forever Engine,这个引擎是开源的,吧里其他作品用的都是这个,但是它的动力学参数和MF或多或少有点不同(我反正玩着相当不习惯)

World10的引擎当初吧里要求公开的呼声很高 但最后我们还是选择了保密 这个容我解释一下 我们不是故意搞封闭技术 我一直都主张公开这个引擎(其实我最开始决定参与World10的制作就是揣的“做好后公开”的心眼)不过这样做的问题很明显:大家都知道MF是闭源软件 World10的引擎就相当于是偷出来的 根本没经作者许可 本来就是上不了台面的事 要是再公开引擎就实在有点蹬鼻子上脸了……还有最重要的一点 我俩可不想摊事……

那怎么办呢
在我和syzx因为要不要公开引擎的问题大吵一架之后(确有此事),我做出了一个决定:从零开始,制作一个玩起来和MF手感完全一样的新马里奥引擎,不使用旧引擎的任何一行代码达到完全相同的效果,这样就可以光明正大的发布了,而不用担心产生任何问题……



id: 39295397715
3L | 作者:lyh娘 | 发布于 2013-09-22 15:41

闲话说的够多了下面谈正题:(其实我原本还扯了像2L那么长一大段 关于最开始我为啥决定参与World10的制作 然后觉得废话太多了砍了)

这个引擎目前正在缓慢制作中 目前只完成了:移动、跳跃、子弹、游泳和简单的敌人 下一步要加入更多的敌人 然后是砖块水管等东西
名字还没定好,目前暂用名称OpenMFEngine(“开源的MF引擎”,很直白吧,最后发布肯定不会用这个名就是了)

引擎使用Multimedia Fusion 2 Developer R251制作,理论上兼容更早的MMF2版本(貌似大家的都是247和249,World10制作时用的是250),但用到了一些旧版本并不包含甚至无处下载的extension(比如ForEach.mfx),届时我会一同提供下载。【不兼容MMF1.5】

与原版MF引擎相比 此引擎力求做到:
更清晰的代码结构,代码更有条理,读来不至于引起过度费解,并使用简明的开关法控制各种状态(虽然开关的数字需要记忆 但总比原版用了一堆乱七八糟的计数器和变量要强)
更好的扩展性,比如将敌人的全部代码做成属性(Behavior),要添加敌人只需取需要的属性复制粘贴再加以简单修改即可(原版加一个敌人受MMF2本身设计所限需手动重写全部代码)
更加易用,物品分类整理,拿到手无需过多调整即可直接制作关卡,制作简单关卡的话一行代码都不用动,一些必须手动写代码的地方(比如进水管后调整滚屏)会有详尽的提示告诉你该怎么做

预计在除夕发布第一个版本,别问为啥是除夕(虽然的确有原因,还是个不小的原因)……

由于当前界面过于简陋这次我就不放图了,我吃饭去了……



id: 39295513200
4L | 作者:lyh娘 | 发布于 2013-09-22 15:45

算了我还是上一张图吧证明我不是在说瞎话
(不许吐槽抽象风格,我手上没素材)



id: 39295554962
5L | 作者:lyh娘 | 发布于 2013-09-22 15:46

@syzxchulun

回复
syzxchulun 于 2013-09-23 09:06:52 id: 39325672293
重写MF确实很好,其实我在给作者询问有关信息,包括那个world 10引擎,他原先不同意现在是一直不回复
lyh娘 于 2013-09-23 09:56:19 id: 39327317826
回复 syzxchulun : 不回复八成是怒了。。 ——真是屎的教训
lyh娘 于 2013-09-23 13:36:07 id: 39335534224
回复 syzxchulun : 也可能是压根就懒得搭理 他所有心思都放在MF2012上了 ——真是屎的教训


id: 39296834163
6L | 作者:similarFANA | 发布于 2013-09-22 16:23

这个,很好。


id: 39296879757
7L | 作者:similarFANA | 发布于 2013-09-22 16:25

确实,如果能避免任何版权纠纷是最好的。

回复
偶只是那个啥 于 2013-09-22 20:39:24 id: 39307000572
+1
快乐mario8 于 2013-09-24 17:44:49 id: 39379760837
+2


id: 39299989662
8L | 作者:bluesun0505 | 发布于 2013-09-22 17:52

mw活生生的被吃了。。。不过还是顶!


id: 39302741609
9L | 作者:卷心菜加农炮 | 发布于 2013-09-22 19:03




id: 39302885493
10L | 作者:zxcvb132435465 | 发布于 2013-09-22 19:06




id: 39305268576
11L | 作者:912394 | 发布于 2013-09-22 20:01




id: 39308812270
12L | 作者:RAFFICA | 发布于 2013-09-22 21:17

!!!


id: 39334310595
13L | 作者:虫蛊蠡 | 发布于 2013-09-23 13:03

好啊!表示用不惯MFE(其实我也在研究动力学参数这个问题)

回复
lyh娘 于 2013-09-23 16:25:39 id: 39340317831
其实我写的时候直接把mw1.0源码里的数和基本算法搬了过去。。。虽然具体代码上的差别还是很大的 ——真是屎的教训
lyh娘 于 2013-09-23 16:26:47 id: 39340351067
不过mw1.0里行走跳跃的代码相当恶心 我看了好几天才看懂 我自己写的就明了多了 ——真是屎的教训
虫蛊蠡 于 2013-09-23 19:33:47 id: 39346327972
回复 lyh娘 :期待你的引擎!如果有更新请@我一下,谢谢了O(∩_∩)O~


id: 39342579723
14L | 作者:Weapon123hsy | 发布于 2013-09-23 17:40

非常期待…


id: 39379772679
15L | 作者:快乐mario8 | 发布于 2013-09-24 17:45

( ^_^ )不错嘛--小尾巴会咬人,请不要碰它(◕ω<)☆


id: 39424155971
16L | 作者:Anti_Tencent | 发布于 2013-09-25 19:48

改天我用C++写一个。

回复
lyh娘 于 2013-09-25 19:52:24 id: 39424296653
我就问一个事 c++显示图形难学吗。。。
Anti_Tencent 于 2013-09-25 20:07:25 id: 39424904051
回复 lyh娘 :C++本身就很难学,显示图形也不会很简单。另外我想这样做主要是因为我现在改用Linux了,想做一个能在Linux下运行的MF。
lyh娘 于 2013-09-25 20:17:58 id: 39425334991
回复 Anti_Tencent :我之前用c++写了一个扫雷,500行代码,因为不会显示图形所以用纯字符拼的。。。。。
Anti_Tencent 于 2013-09-25 20:24:48 id: 39425616178
回复 lyh娘 :C++写图形界面要用到额外的库,标准库没有这样的功能。


id: 39486543391
17L | 作者:lyh娘 | 发布于 2013-09-27 12:02

↓这是目前为止的更新记录(中间的确停了将近一个月)

r1 8/26 开始制作 做好了最基本的【马里奥行走】
r2 8/27 做好【跳跃】 加入了【马里奥边界判定】
r3 8/27 做好【游泳】 完善跳跃和游泳相关代码 加入【下蹲】
r4 8/28 加入【敌人板栗仔】 加入【通用转向】代码
r5 8/29 优化通用转向 修复bug 加入【子弹和菜根】
r6 9/22 bug修复
r7 9/27 加入【滚屏切换】 优化通用转向 加入敌人【红刺猬、灰刺猬】 修复大量bug



id: 39497475192
18L | 作者:lyh娘 | 发布于 2013-09-27 17:46

r8 9/27 加入【绿乌龟】,重新编写大量敌人相关的代码
(这次写的我要吐血。。。好在成品很简洁)



id: 39548486299
19L | 作者:HappyLee_12 | 发布于 2013-09-28 21:45

又是一浩大工程,希望楼主能坚持做完,那样广大的MF玩家就有福啦,加油!!!


id: 39578311761
21L | 作者:chenziango | 发布于 2013-09-29 17:42




id: 39592950217
22L | 作者:无视我…… | 发布于 2013-09-29 23:42

加油!
确实MFE的手感不太好,玩起来没有MF那么顺手,而且BUG很多……
如果这个做好了,我可以尝试一下用这个做一个大作品……


回复
lyh娘 于 2013-09-29 23:55:56 id: 39593515658
我手上有个用World10引擎弄的大作(虽然其实是复刻别人的)还坑着呢 我打算做完引擎就把那东西基于新引擎整个重做 ——真是屎的教训


id: 39617717078
23L | 作者:dodoufatch | 发布于 2013-09-30 17:16

加油


id: 39619661287
24L | 作者:马里奥密ifdg | 发布于 2013-09-30 18:10

后排留名


id: 39620636586
25L | 作者:吴路安徽 | 发布于 2013-09-30 18:36

加油


id: 39624444943
26L | 作者:林卡﹖林卡比﹖ | 发布于 2013-09-30 20:05

于是继SMF弄出FE以后LYH又要搞MF……
(#手烟)为什么……为什么你们都这么触……这不科学



id: 39624699533
27L | 作者:偶只是那个啥 | 发布于 2013-09-30 20:11

话说这项工程依然是与syzx合作么?

回复
lyh娘 于 2013-09-30 20:12:28 id: 39624762529
不是,我独立完成。。。


id: 39625941370
28L | 作者:lyh娘 | 发布于 2013-09-30 20:36

目前的进度...



id: 39627604093
29L | 作者:dodoufatch | 发布于 2013-09-30 21:10

加油


id: 39628851479
30L | 作者:lyh娘 | 发布于 2013-09-30 21:34


进度比预想的快。。。



id: 39632694207
31L | 作者:lyh娘 | 发布于 2013-09-30 22:46


今天先搞这些,收工,休息~
(无敌星没做完)


回复
lyh娘 于 2013-09-30 22:48:03 id: 39632779990
r9 9/30 加入【所有道具】,加入【砖块、问号块】,优化已有代码结构


id: 39653752253
32L | 作者:lyh娘 | 发布于 2013-10-01 12:36

r10 10/1 做完r9未完成的部分,加入【隐藏块】



id: 39654193185
33L | 作者:lyh娘 | 发布于 2013-10-01 12:47

我对通用水管连接的构思不可行。。。。。我还是照原版的方法一对一对做吧


id: 39664471205
34L | 作者:马里奥密ifdg | 发布于 2013-10-01 17:25

有斜坡没

回复
lyh娘 于 2013-10-01 17:31:20 id: 39664696650
考虑制作,但有很大的问题需要解决(我在World10引擎里加过斜坡,结果华丽地失败了= =)现在这个引擎的开发重点是完美再现MF
无视我…… 于 2013-10-06 13:56:14 id: 39919913856
回复 lyh娘 :斜坡貌似可以取消勾选“运行时选项”的“方形碰撞”


id: 39664511899
35L | 作者:马里奥密ifdg | 发布于 2013-10-01 17:26

什么!这是坟贴?

回复
lyh娘 于 2013-10-01 17:27:52 id: 39664562922
你是信乱七八糟的工具还是信1楼的时间
马里奥密ifdg 于 2013-10-01 17:31:53 id: 39664718105
回复 lyh娘 :BUG !我要@风云酷小子 去!


id: 39665041657
36L | 作者:风云酷小子 | 发布于 2013-10-01 17:40

如此牛逼


id: 39665764547
37L | 作者:No ID Information! | 发布于 2013-10-01 17:58

好好好;-)


id: 39706155491
38L | 作者:女的都该剪短发 | 发布于 2013-10-02 14:30

LZ还是好好学习远离这些吧,大学课程真心比高三累,拼命学是必须的,另外貌似LZ的大学和我的都在北京,有空可以见面聊哦!

回复
lyh娘 于 2013-10-02 15:59:46 id: 39709440755
1我在长春 2累个屁
laputa1116 于 2013-10-23 18:16:55 id: 40698678238
笑尿


id: 39711825270
39L | 作者:1168438795 | 发布于 2013-10-02 17:02




id: 39713064692
40L | 作者:女的都该剪短发 | 发布于 2013-10-02 17:32

LZ,Imsorry,我指的HL大神,发错了。。。

回复
lyh娘 于 2013-10-02 18:08:43 id: 39714551557
HL是长春的


id: 39795323607
41L | 作者:地狱中的妖魔 | 发布于 2013-10-04 09:38

楼主加油!!!技术简直超棒!!MF吧的人有福啦!!⊙▽⊙不用自己写代码简直幸福

回复
dodoufatch 于 2013-10-04 12:10:40 id: 39802759397
想做完美的mf关即使有引擎也需要代码
lyh娘 于 2013-10-04 17:40:54 id: 39817921350
回复 dodoufatch : 拉卷轴是与控制物件的接触判定,修改音乐同上,水管连接虽然我还没做,但预期效果为制作关卡时只需连续拽出一对"入口"和"出口"就会自动配对,还需要写啥? ——真是屎的教训
syzxchulun 于 2013-10-05 22:18:09 id: 39888802703
基本上需要写的也就是时间,卷轴方式,水面什么的,不过这些基本上写好以后改一行代码就完事。
lyh娘 于 2013-10-05 22:23:13 id: 39889143914
回复 syzxchulun :我全避免了这些都只要改相应物品属性里的可变值就行了。。。不过你漏了一点最重要也是最恶心的:进水管拉卷轴切换音乐


id: 40222086442
42L | 作者:lyh娘 | 发布于 2013-10-12 21:19

r11 10/12 修正行走速度,重写砖块、问号块判定以解决一些已知问题,加入顶死小怪的判定,修正其他一些小问题
r12 10/12 加入自动水管连接

水管连接效果如图:


今天这堆代码照样写的我想吐。。。。
我水管连接的思路是:用两个Active做传送(自动配对),然后每方向出入口各一个,总计只有10个物品,不需要写任何代码,甚至不需对物品做任何改动,即可做出无限多的水管连接
做出来后发现:如果一个水管既能进又能出,连接就会紊乱(实际上并没有紊乱,我测试时只弄了两个水管,如果再加一个进去就能一下子找到问题所在了)
调试了一个半小时,无解,甚至以为是编辑器bug
最后我把水管撤了 直接测试传送 发现没问题
顺着这个思路我发现:我代码先后顺序写错了调一下就好了………………………………


回复
lyh娘 于 2013-10-12 21:20:07 id: 40222132495
图里没有左右方向的,因为我还没做